In a typical packet-based communication system such as Voice over Internet Protocol (VoIP), audio data such as voice data from a sender (source) is digitized, compressed using an appropriate encoding algorithm and packetized at a transmitter at regular intervals (e.g., every 10 ms or multiple of 10 ms). The voice packet is then sent over the IP network to the receiver where it is decoded and played-out to the listener (destination). These VoIP applications use mostly UDP as the transport layer protocol. The Real-Time Transport Protocol (RTP) provides the additional information like sequence numbers and time stamps.
For a packet-based voice communication, good voice quality needs to be maintained throughout the call. Degradation of call quality results in poor quality of service (QOS). Packet loss is one of the most prominent problems impairing the QOS. Under a heavy traffic and congestion situation, the packet loss may exceed the acceptable limit leading to high buffering delay and degradation of voice quality.
To mitigate packet loss, redundancy can be introduced in the transmission. The receiver can regenerate the lost packets from the redundant data. The amount of redundant data transmitted depends on the voice quality required at the receiving end. For good voice quality, a large amount of redundant data is required. Owing to the large amount of redundant data, the bandwidth requirements can become significant. Unavailability of sufficient bandwidth for packet based voice communication may further worsen the call quality.
Furthermore, the addition of redundant data should also comply with known, widely supported packetisation and control protocol standards, to enable interoperability with existing devices and elements provided by different vendors.